//SomeClient a group of clients
type SomeClient []*Client

// Open open all client
func (cs SomeClient) Open(w bool) (err error) {
	for _, c := range cs {
		err = c.Open(w)
		if err != nil {
			return
		}
	}
	return
}

// PutersFromGs get puters form geters
func PutersFromGs(gs types.SomeGeter) (cs SomeClient) {
	for _, v := range gs {
		if cpc, ok := v.(*Client); ok {
			cs = append(cs, cpc)
		}
	}
	return
}
